home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / IBM17523.PP_ / ibm17523.ppd
PostScript Printer Description  |  1996-04-25  |  16KB  |  458 lines

  1. *PPD-Adobe: "4.2"
  2. *% Adobe Systems PostScript(R) Printer Description File
  3. *% For IBM LaserPrinter 4019
  4. *% For use with Windows NT Ver 4.x
  5. *% Produced by Lexmark International, Inc.
  6. *%
  7. *% Copyright (c) 1993 Lexmark International Inc.  All Rights Reserved.
  8. *% Permission is granted for redistribution of this file as
  9. *% long as this copyright notice is intact and the content
  10. *% of the file is not altered in any way from its original form.
  11. *%
  12. *%
  13. *% Version History:
  14. *%       3.1) Changed for NT Ver 4.0
  15. *%
  16. *FormatVersion: "4.2"
  17. *FileVersion: "3.1"
  18. *LanguageVersion: English
  19. *PCFileName: "IBM17523.PPD"
  20. *Product: "(IBM LaserPrinter)"
  21. *PSVersion: "(52.1) 0"
  22. *PSVersion: "(52.3) 0"
  23. *ModelName: "IBM 4019 LaserPrinter PS17"
  24. *ShortNickName: "IBM 4019 LaserPrinter PS17"
  25. *NickName: "IBM 4019 LaserPrinter PS17"
  26.  
  27. *% === Options and Constraints ============
  28.  
  29. *OpenGroup: InstallableOptions/Options Installed
  30.  
  31. *OpenUI *Option1/Optional Lower Tray: Boolean
  32. *DefaultOption1: False
  33. *Option1 True/Installed: ""
  34. *Option1 False/Not Installed: ""
  35. *CloseUI: *Option1
  36.  
  37. *OpenUI *Option2/Optional Envelope Feeder: Boolean
  38. *DefaultOption2: False
  39. *Option2 True/Installed: ""
  40. *Option2 False/Not Installed: ""
  41. *CloseUI: *Option2
  42.  
  43. *OpenUI *Option3/Memory Configuration: PickOne
  44. *DefaultOption3: None
  45. *Option3 None/Installed Memory 1.5 MB: ""
  46. *Option3 2Meg/Installed Memory 2.5 MB: ""
  47. *Option3 3.5Meg/Installed Memory 4 MB: ""
  48. *CloseUI: *Option3
  49.  
  50. *CloseGroup: InstallableOptions
  51.  
  52. *UIConstraints: *Option1 False *InputSlot Lower
  53. *UIConstraints: *Option1 False *TraySwitch
  54. *UIConstraints: *Option2 False *InputSlot Envelope
  55. *UIConstraints: *Option3 None *PageSize Legal
  56. *UIConstraints: *Option3 None *PageRegion Legal
  57.  
  58. *% === Basic Capabilities ============
  59.  
  60. *LanguageLevel: "1"
  61. *FreeVM: "132000"
  62. *ColorDevice: False
  63. *DefaultColorSpace: Gray
  64. *VariablePaperSize: False
  65. *FileSystem: False
  66. *Throughput: "10"
  67. *Password: "0"
  68. *ExitServer: "
  69.  count 0 eq   % is the password on the stack?
  70.  { true }
  71.  { dup        % potential password
  72.    statusdict /checkpassword get exec not
  73.  } ifelse
  74.  {  %  if no password or not valid
  75.    (WARNING : Cannot perform the exitserver command.) =
  76.    (Password supplied is not valid.) =
  77.    (Please contact the author of this software.) = flush
  78.    quit
  79.  } if
  80.  serverdict /exitserver get exec
  81.  "
  82. *End
  83. *Reset: "
  84.  count 0 eq  % is the password on the stack?
  85.  { true }
  86.  { dup      % potential password
  87.    statusdict /checkpassword get exec not
  88.  } ifelse
  89.  {  %  if no password or not valid
  90.    (WARNING : Cannot reset printer.) =
  91.    (Password supplied is not valid.) =
  92.    (Please contact the author of this software.) = flush
  93.    quit
  94.  } if
  95.  serverdict /exitserver get exec
  96.  systemdict /quit get exec
  97.  (WARNING : Printer Reset Failed.) = flush
  98.  "
  99. *End
  100.  
  101. *% === Resolution ============
  102.  
  103. *DefaultResolution: 300dpi
  104. *Resolution 300dpi: ""
  105. *?Resolution: "
  106.  save initgraphics
  107.  0 0 moveto currentpoint matrix defaultmatrix transform
  108.  0 72 lineto currentpoint matrix defaultmatrix transform
  109.  3 -1 roll sub dup mul
  110.  3  1 roll exch sub dup mul
  111.  add sqrt round cvi (          ) cvs print (dpi) = flush
  112.  restore
  113.  "
  114. *End
  115.  
  116. *% === Halftone Information ===============
  117.  
  118. *ScreenFreq: "60.0"
  119. *ScreenAngle: "45.0"
  120. *DefaultScreenProc: Dot
  121. *ScreenProc Dot: "
  122.  {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1
  123.  sub }{dup mul exch dup mul add 1 exch sub }ifelse }
  124.  "
  125. *End
  126. *ScreenProc Line: "{ pop }"
  127. *ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
  128.  
  129. *DefaultTransfer: Null
  130. *Transfer Null: "{ }"
  131. *Transfer Null.Inverse: "{ 1 exch sub }"
  132.  
  133. *% === Paper Handling ===================
  134.  
  135. *% Code in this section selects a tray and sets up a frame buffer.
  136. *OpenUI *PageSize:  PickOne
  137. *OrderDependency: 30 AnySetup *PageSize
  138. *DefaultPageSize: Letter
  139. *PageSize Letter: "statusdict begin {lettertray}stopped {3 setpapertray letter}if end"
  140. *PageSize Legal: "statusdict begin {legaltray}stopped {3 setpapertray legal}if end"
  141. *PageSize Executive: "
  142.  statusdict begin {executivetray}stopped {3 setpapertray executivepage}if end"
  143. *End
  144. *PageSize A4: "statusdict begin {a4tray}stopped {3 setpapertray a4}if end"
  145. *PageSize A5: "statusdict begin {a5tray}stopped {3 setpapertray a5}if end"
  146. *PageSize B5: "statusdict begin {b5tray}stopped {3 setpapertray b5}if end"
  147. *PageSize Monarch/Envelope Monarch: "
  148.  statusdict begin {3.875x7.5envelopetray}stopped
  149.  {4 setpapertray 3.875x7.5envelope}if end
  150.  279 540 translate 180 rotate"
  151. *End
  152. *PageSize C9/Envelope #9: "
  153.  statusdict begin {3.875x8.875envelopetray}stopped
  154.  {4 setpapertray 3.875x8.875envelope}if end
  155.  279 639 translate 180 rotate"
  156. *End
  157. *PageSize Comm10/Envelope #10: "
  158.  statusdict begin {4.125x9.5envelopetray}stopped
  159.  {4 setpapertray 4.125x9.5envelope}if end
  160.  297 684 translate 180 rotate"
  161. *End
  162. *PageSize DL/Envelope DL: "
  163.  statusdict begin {110x220envelopetray}stopped
  164.  {4 setpapertray 110x220envelope}if end
  165.  312 624 translate 180 rotate"
  166. *End
  167. *PageSize C5/Envelope C5: "
  168.  statusdict begin {162x229envelopetray}stopped
  169.  {4 setpapertray 162x229envelope}if end
  170.  459 649 translate 180 rotate"
  171. *End
  172. *PageSize ISOB5/Envelope B5: "
  173.  statusdict begin {176x250envelopetray}stopped
  174.  {4 setpapertray 176x250envelope}if end
  175.  499 709 translate 180 rotate"
  176. *End
  177. *?PageSize: "
  178.  save
  179.  12 dict
  180.    dup /letter (Letter) put
  181.    dup /legal (Legal) put
  182.    dup /executivepage (Executive) put
  183.    dup /a4 (A4) put
  184.    dup /a5 (A5) put
  185.    dup /b5 (B5) put
  186.    dup /3.875x7.5envelope (Monarch) put
  187.    dup /3.875x8.875envelope (Envelope.279.639) put
  188.    dup /4.125x9.5envelope (Comm10) put
  189.    dup /110x220envelope (DL) put
  190.    dup /162x229envelope (C5) put
  191.    dup /176x250envelope (Envelope.499.709) put
  192.  statusdict /papersize get exec
  193.  3 1 roll  {get} stopped {(Unknown)}if
  194.  exch  not { print (.Transverse) }if
  195.  = flush
  196.  restore
  197.  "
  198. *End
  199. *CloseUI: *PageSize
  200.  
  201. *% These entries will set up the frame buffer. Usually used with manual feed.
  202. *OpenUI *PageRegion:  PickOne
  203. *OrderDependency: 40 AnySetup *PageRegion
  204. *DefaultPageRegion: Letter
  205. *PageRegion Letter: "letter"
  206. *PageRegion Legal: "legal"
  207. *PageRegion Executive: "executivepage"
  208. *PageRegion A4: "a4"
  209. *PageRegion A5: "a5"
  210. *PageRegion B5: "b5"
  211. *PageRegion Monarch/Envelope Monarch: "3.875x7.5envelope 279 540 translate 180 rotate"
  212. *PageRegion C9/Envelope #9: "3.875x8.875envelope 279 639 translate 180 rotate"
  213. *PageRegion Comm10/Envelope #10: "4.125x9.5envelope 297 684 translate 180 rotate"
  214. *PageRegion DL/Envelope DL: "110x220envelope 312 624 translate 180 rotate"
  215. *PageRegion C5/Envelope C5: "162x229envelope 459 649 translate 180 rotate"
  216. *PageRegion ISOB5/B5 Envelope: "176x250envelope 499 709 translate 180 rotate"
  217. *CloseUI: *PageRegion
  218.  
  219. *DefaultImageableArea: Letter
  220. *ImageableArea Letter:    "18 17 597 776"
  221. *ImageableArea Legal:     "18 18 597 992"
  222. *ImageableArea Executive: "18 18 505 740"
  223. *ImageableArea A4:        "18 19 578 827"
  224. *ImageableArea A5:        "18 13 405 580"
  225. *ImageableArea B5:        "18 18 505 711"
  226. *ImageableArea Monarch:   "1 13 260 526"
  227. *ImageableArea C9:        "1 16 260 623"
  228. *ImageableArea Comm10:    "3 16 278 668"
  229. *ImageableArea DL:        "3 16 293 608"
  230. *ImageableArea C5:        "4 16 440 634"
  231. *ImageableArea ISOB5:     "2 15 480 693"
  232. *?ImageableArea: "
  233.  save
  234.  /cvp { (                ) cvs print ( ) print } bind def
  235.  /upperright {10000 mul floor 10000 div} bind def
  236.  /lowerleft {10000 mul ceiling 10000 div} bind def
  237.  newpath clippath pathbbox
  238.  4 -2 roll exch 2 {lowerleft cvp} repeat
  239.  exch 2 {upperright cvp} repeat flush
  240.  restore
  241. "
  242. *End
  243.  
  244. *% These provide the physical dimensions of the paper (by keyword)
  245. *DefaultPaperDimension: Letter
  246. *PaperDimension Letter:    "612 792"
  247. *PaperDimension Legal:     "612 1008"
  248. *PaperDimension Executive: "522 756"
  249. *PaperDimension A4:        "595 842"
  250. *PaperDimension A5:        "420 595"
  251. *PaperDimension B5:        "516 729"
  252. *PaperDimension Monarch:   "279 540"
  253. *PaperDimension C9:        "279 639"
  254. *PaperDimension Comm10:    "297 684"
  255. *PaperDimension DL:        "312 624"
  256. *PaperDimension C5:        "459 649"
  257. *PaperDimension ISOB5:     "499 709"
  258.  
  259. *RequiresPageRegion All: True
  260. *OpenUI *InputSlot:  PickOne
  261. *OrderDependency: 20 AnySetup *InputSlot
  262. *DefaultInputSlot: Unknown
  263. *InputSlot Upper: "0 statusdict /setpapertray get exec"
  264. *InputSlot Lower: "
  265.  statusdict begin optionalfeeder { 1 }{ 0 }ifelse setpapertray end"
  266. *End
  267. *InputSlot Envelope: "
  268.  statusdict begin envelopefeeder { 2 }{ 3 }ifelse setpapertray end"
  269. *End
  270. *InputSlot EnvelopeManual: "4 statusdict /setpapertray get exec"
  271. *?InputSlot: "
  272.  save
  273.  [ (Upper) (Lower) (Envelope) (Manual) (ManualEnvelope) ] statusdict /papertray get exec
  274.  {get exec} stopped { pop pop (Unknown) } if = flush
  275.  restore
  276.  "
  277. *End
  278. *CloseUI: *InputSlot
  279.  
  280. *OpenUI *ManualFeed: Boolean
  281. *OrderDependency: 15 AnySetup *ManualFeed
  282. *DefaultManualFeed: False
  283. *ManualFeed True: "3 statusdict /setpapertray get exec"
  284. *ManualFeed False: "statusdict /manualfeed false put"
  285. *?ManualFeed: "
  286.  save
  287.  statusdict /manualfeed get {(True)}{(False)}ifelse = flush
  288.  restore
  289.  "
  290. *End
  291. *CloseUI: *ManualFeed
  292.  
  293. *OpenUI *TraySwitch/Tray Linking: PickOne
  294. *OrderDependency: 50 AnySetup *TraySwitch
  295. *DefaultTraySwitch: None
  296. *TraySwitch None/Printer Setting:  ""
  297. *TraySwitch True/On:  "statusdict /trayswitch true put"
  298. *TraySwitch False/Off: "statusdict /trayswitch false put"
  299. *?TraySwitch: "
  300.  save
  301.  statusdict /trayswitch get {(True)}{(False)}ifelse = flush
  302.  restore
  303.  "
  304. *End
  305. *CloseUI: *TraySwitch
  306.  
  307. *DefaultOutputOrder: Normal
  308. *OutputOrder Normal: ""
  309. *OutputOrder Reverse: ""
  310.  
  311. *% === Font Information =====================
  312.  
  313. *DefaultFont: Courier
  314. *Font Courier: Standard "(001.004)" Standard ROM
  315. *Font Courier-Bold: Standard "(001.004)" Standard ROM
  316. *Font Courier-BoldOblique: Standard "(001.004)" Standard  ROM
  317. *Font Courier-Oblique: Standard "(001.004)" Standard ROM
  318. *Font Helvetica: Standard "(001.002)" Standard       ROM
  319. *Font Helvetica-Bold: Standard "(001.002)" Standard  ROM
  320. *Font Helvetica-BoldOblique: Standard "(001.002)" Standard ROM
  321. *Font Helvetica-Narrow: Standard "(001.002)" Standard  ROM
  322. *Font Helvetica-Narrow-Bold: Standard "(001.002)" Standard  ROM
  323. *Font Helvetica-Narrow-BoldOblique: Standard "(001.002)" Standard ROM
  324. *Font Helvetica-Narrow-Oblique: Standard "(001.002)" Standard ROM
  325. *Font Helvetica-Oblique: Standard "(001.002)" Standard  ROM
  326. *Font Symbol: Special "(001.003)" Special  ROM
  327. *Font Times-Bold: Standard "(001.002)" Standard  ROM
  328. *Font Times-BoldItalic: Standard "(001.004)" Standard ROM
  329. *Font Times-Italic: Standard "(001.002)" Standard    ROM
  330. *Font Times-Roman: Standard "(001.002)" Standard   ROM
  331. *?FontQuery: "
  332.  save
  333.  /str 100 string dup 0 (fonts/) putinterval def
  334.  { count 1 gt
  335.    { exch dup str 6 94 getinterval cvs
  336.      (/) print print (:) print
  337.      FontDirectory exch known
  338.      {(Yes)}{(No)} ifelse =
  339.    }
  340.    {exit} ifelse
  341.  }bind loop
  342.  (*) = flush
  343.  restore
  344.  "
  345. *End
  346.  
  347. *?FontList: "save FontDirectory { pop == } bind forall flush (*) = flush restore"
  348.  
  349. *% Printer Messages (verbatim from printer):
  350. *Message: "%%  exitserver: permanent state may be changed  %%"
  351. *Message: "%%  Flushing: rest of job (to end-of-file) will be ignored  %%"
  352. *Message: "FontName\ not found, using Courier"
  353.  
  354. *% Status (format: %%  status: <one of these>  %% )
  355. *Status: "Printer Busy"
  356. *Status: "Warming Up"
  357. *Status: "PrinterError: Printer Offline"
  358. *Status: "PrinterError: Paper Out or Feed Failure - Tray 1"
  359. *Status: "PrinterError: Paper Out or Feed Failure - Tray 2"
  360. *Status: "PrinterError: Paper Out or Feed Failure - Envelope Feeder"
  361. *Status: "PrinterError: Load Paper Requested"
  362. *Status: "PrinterError: Load Envelope Requested"
  363. *Status: "PrinterError: Invalid Manual Insertion"
  364. *Status: "PrinterError: Wrong Paper Length"
  365. *Status: "PrinterError: Paper Jam"
  366. *Status: "PrinterError: Cover Open/Cartridge Not Installed"
  367. *Status: "PrinterError: Output Bin Full"
  368. *Status: "PrinterError: Default Storage Error"
  369. *Status: "PrinterError: Battery Low - Slot 1"
  370. *Status: "PrinterError: Battery Low - Slot 2"
  371. *Status: "PrinterError: Non-Download Font Card Installed - Slot 1"
  372. *Status: "PrinterError: Non-Download Font Card Installed - Slot 2"
  373. *Status: "PrinterError: Write-Protect Switch in Protect Position - Slot 1"
  374. *Status: "PrinterError: Write-Protect Switch in Protect Position - Slot 2"
  375. *Status: "PrinterError: Defective or Unprogrammed Card Installed - Slot 1"
  376. *Status: "PrinterError: Defective or Unprogrammed Card Installed - Slot 2"
  377. *Status: "PrinterError: Defective Font Card Installed - Slot 1"
  378. *Status: "PrinterError: Defective Font Card Installed - Slot 2"
  379. *Status: "PrinterError: Unsupported Card Installed - Slot 1"
  380. *Status: "PrinterError: Unsupported Card Installed - Slot 2"
  381. *Status: "PrinterError: Printer Busy"
  382. *Status: "PrinterError: Printer Error"
  383.  
  384. *% Input Sources (format: %%  status: <stat>; source: <one of these>  %% )
  385. *Source: "serial9"
  386. *Source: "serial25"
  387. *Source: "Centronics"
  388.  
  389. *% Printer Error (format: %%  PrinterError: <one of these>  %%)
  390. *PrinterError: "Printer Offline"
  391. *PrinterError: "Paper Out or Feed Failure - Tray 1"
  392. *PrinterError: "Paper Out or Feed Failure - Tray 2"
  393. *PrinterError: "Paper Out or Feed Failure - Envelope Feeder"
  394. *PrinterError: "Load Paper Requested"
  395. *PrinterError: "Load Envelope Requested"
  396. *PrinterError: "Invalid Manual Insertion"
  397. *PrinterError: "Wrong Paper Length"
  398. *PrinterError: "Paper Jam"
  399. *PrinterError: "Cover Open/Cartridge Not Installed"
  400. *PrinterError: "Output Bin Full"
  401. *PrinterError: "Default Storage Error"
  402. *PrinterError: "Battery Low - Slot 1"
  403. *PrinterError: "Battery Low - Slot 2"
  404. *PrinterError: "Non-Download Font Card Installed - Slot 1"
  405. *PrinterError: "Non-Download Font Card Installed - Slot 2"
  406. *PrinterError: "Write-Protect Switch in Protect Position - Slot 1"
  407. *PrinterError: "Write-Protect Switch in Protect Position - Slot 2"
  408. *PrinterError: "Defective or Unprogrammed Card Installed - Slot 1"
  409. *PrinterError: "Defective or Unprogrammed Card Installed - Slot 2"
  410. *PrinterError: "Defective Font Card Installed - Slot 1"
  411. *PrinterError: "Defective Font Card Installed - Slot 2"
  412. *PrinterError: "Unsupported Card Installed - Slot 1"
  413. *PrinterError: "Unsupported Card Installed - Slot 2"
  414. *PrinterError: "Printer Busy"
  415. *PrinterError: "Printer Error"
  416.  
  417. *%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
  418.  
  419. *% === Color Separation Information =====================
  420.  
  421. *DefaultColorSep: ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi
  422.  
  423. *InkName: ProcessBlack/Process Black
  424. *InkName: CustomColor/Custom Color
  425. *InkName: ProcessCyan/Process Cyan
  426. *InkName: ProcessMagenta/Process Magenta
  427. *InkName: ProcessYellow/Process Yellow
  428.  
  429. *%  For 60 lpi / 300 dpi  ===============================
  430.  
  431. *ColorSepScreenAngle ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "45"
  432. *ColorSepScreenAngle CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "45"
  433. *ColorSepScreenAngle ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "15"
  434. *ColorSepScreenAngle ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "75"
  435. *ColorSepScreenAngle ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "0"
  436.  
  437. *ColorSepScreenFreq ProcessBlack.60lpi.300dpi/60 lpi / 300 dpi: "60"
  438. *ColorSepScreenFreq CustomColor.60lpi.300dpi/60 lpi / 300 dpi: "60"
  439. *ColorSepScreenFreq ProcessCyan.60lpi.300dpi/60 lpi / 300 dpi: "60"
  440. *ColorSepScreenFreq ProcessMagenta.60lpi.300dpi/60 lpi / 300 dpi: "60"
  441. *ColorSepScreenFreq ProcessYellow.60lpi.300dpi/60 lpi / 300 dpi: "60"
  442.  
  443. *%  For 53 lpi / 300 dpi  ===============================
  444.  
  445. *ColorSepScreenAngle ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  446. *ColorSepScreenAngle CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "45.0"
  447. *ColorSepScreenAngle ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "71.5651"
  448. *ColorSepScreenAngle ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "18.4349"
  449. *ColorSepScreenAngle ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "0.0"
  450.  
  451. *ColorSepScreenFreq ProcessBlack.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  452. *ColorSepScreenFreq CustomColor.53lpi.300dpi/53 lpi / 300 dpi: "53.033"
  453. *ColorSepScreenFreq ProcessCyan.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  454. *ColorSepScreenFreq ProcessMagenta.53lpi.300dpi/53 lpi / 300 dpi: "47.4342"
  455. *ColorSepScreenFreq ProcessYellow.53lpi.300dpi/53 lpi / 300 dpi: "50.0"
  456.  
  457. *% End of PPD file for IBM LaserPrinter 4019
  458.